package com.bstek.bdf2.core.mq.publisher;

import org.springframework.stereotype.Component;


/**
 * @Title: RabbitMQ 的管理操作
 * @Package: com.bstek.bdf4.mq.admin
 * @Description:
 * @Author: zxq
 * @Date: 2024/2/6 - 21:37
 */
@Component
public interface BstekRabbitAdmin {


    /**
     *  创建交换机
     * @param exchangeName
     */
    public void declareExchange(String exchangeName);

    /**
     *  创建队列
     * @param queueName
     */
    public void declareQueue(String queueName);

    /**
     * 声明绑定
     * @param queueName
     * @param exchangeName
     * @param routingKey
     */
     public void declareBinding(String queueName, String exchangeName, String routingKey);

    /**
     * 删除交换机
     * @param exchangeName
     */
     public void deleteExchange(String exchangeName);
    /**
     * 删除队列
     * @param queueName
     */
     public void deleteQueue(String queueName);

    /**
     * 清空队列中的消息：
     */
     public void purgeQueue(String queueName);


    /**
     * 获取队列的属性
     * @param queueName
     */
     public RabbitQueueInfo getQueueInfo(String queueName);

}
